package com.hsylient.Proxypattern.staticproxy;

/**
 * 工人的代理
 * <p>
 * 在工人的代理中放置一个实现了工作接口的成员变量，同时在构造方法中将这个成员变量实例化
 * 这样做的好处就是：在创建代理对象的时候可以通过不同的接口实现去代理不同的对象（面向接口编程）
 * 然后代理对象也实现了工作的接口，那么他就需要实现工作的方法，在这里可以对原有对象的功能进行增强
 */
public class WorkerProxy implements Working {

    private Working working;

    public WorkerProxy(Working working) {
        this.working = working;
    }

    @Override
    public void work() {
        System.out.println("代理之前的动作。。。");
        working.work();
        System.out.println("代理之后的动作。。。");
    }
}
